In Fformat_mode_line always save/restore current buffer. (Bug#12387)
authormartin rudalics <rudalics@gmx.at>
Fri, 14 Sep 2012 06:55:38 +0000 (08:55 +0200)
committermartin rudalics <rudalics@gmx.at>
Fri, 14 Sep 2012 06:55:38 +0000 (08:55 +0200)
* xdisp.c (Fformat_mode_line): Unconditionally save/restore current
buffer.  (Bug#12387)

src/ChangeLog
src/xdisp.c

index 0f2fc2f9d2b5535e6017818c250869e53f3e37dd..270576dd063b7bd6e9ec838b8ed0d4b4e748e999 100644 (file)
@@ -1,3 +1,8 @@
+2012-09-14  Martin Rudalics  <rudalics@gmx.at>
+
+       * xdisp.c (Fformat_mode_line): Unconditionally save/restore
+       current buffer (Bug#12387).
+
 2012-09-14  Juanma Barranquero  <lekktu@gmail.com>
 
        * makefile.w32-in ($(BLD)/alloc.$(O)): Update dependencies.
index e9d9595d91ef0ac4a4b936a1ece4d2658ef84088..320998a5713d02fbed425607157f0c3261050b52 100644 (file)
@@ -21039,8 +21039,7 @@ are the selected window and the WINDOW's buffer).  */)
     : EQ (face, Qtool_bar) ? TOOL_BAR_FACE_ID
     : DEFAULT_FACE_ID;
 
-  if (XBUFFER (buffer) != current_buffer)
-    old_buffer = current_buffer;
+  old_buffer = current_buffer;
 
   /* Save things including mode_line_proptrans_alist,
      and set that to nil so that we don't alter the outer value.  */
@@ -21051,8 +21050,7 @@ are the selected window and the WINDOW's buffer).  */)
   mode_line_proptrans_alist = Qnil;
 
   Fselect_window (window, Qt);
-  if (old_buffer)
-    set_buffer_internal_1 (XBUFFER (buffer));
+  set_buffer_internal_1 (XBUFFER (buffer));
 
   init_iterator (&it, w, -1, -1, NULL, face_id);